
#include "calle.h" 
#include <string>
#include <iostream>
#include <cassert>


int Vehiculo::ctdadAutos = 0 ; 
int Vehiculo::ctdadPolicias = 0 ; 
int Vehiculo::ctdadAmbulancias = 0 ; 


using namespace std ; 

int main (void) {

	string s = "nombre" ;
	Calle * c = new Calle(s,10) ; 


	cout << "Creamos la calle..." << endl ; 
	if(s==c->getNombre()){   
		cout<<"assert(s==c->getNombre()) ... PASSED" << endl ;
	} 
	assert(s==c->getNombre()) ;
  
	if( !c->getPeso() ) {  
		cout<<"assert( !c->getPeso() ) ... PASSED" << endl  ;
	}
	assert( !c->getPeso() ) ;  

	cout << "Agregamos un auto..." << endl ; 
	
	Vehiculo * aut = new Auto() ; 
	c->agregarVehiculo(aut) ; // Como se identifica el auto? ... 
	if(c->getPeso()){ 
		cout<<"assert( c->getPeso() ) ... PASSED" << endl ;  
	} 
	assert( c->getPeso() ) ; 
	


	cout << "Agregamos una ambulancia..." << endl ; 

	Vehiculo * amb = new Ambulancia() ; 
	c->agregarVehiculo(amb) ;
	Vehiculo * aux =c->sacarVehiculo() ;
	if ( !aux->getNombre().compare("Ambulancia_0") ) { 
		cout<<"assert(aux.getNombre().compare(\"Ambulancia_0\")) ... PASSED" << endl ; 
	} 
	assert(!aux->getNombre().compare("Ambulancia_0")) ; 
 
	aux = c->sacarVehiculo() ; 

	if ( !aux->getNombre().compare("Auto_0") ) { 
		cout<<"assert(aux.getNombre().compare(\"Auto_0\")) ... PASSED" << endl ; 
	}
	assert(!aux->getNombre().compare("Auto_0")) ; 

		
	return 0 ; 

}
